ECMAScript 2019

জাভাস্ক্রিপ্টে নতুন বৈশিষ্ট্য জানুন

ECMAScript 2019

ECMAScript 2019 (ইএস10 নামেও পরিচিত) হল জাভাস্ক্রিপ্ট ভাষার 10 তম সংস্করণ। এটি 2019 সালে প্রকাশিত হয়েছিল এবং অনেকগুলি দরকারী নতুন বৈশিষ্ট্য চালু করেছিল।

এই টিউটোরিয়ালে, আপনি ES2019-এ প্রবর্তিত সমস্ত গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি শিখবেন।

জাভাস্ক্রিপ্ট 2019-এ নতুন বৈশিষ্ট্য

বৈশিষ্ট্য ব্যাখ্যা
String trimStart() একটি স্ট্রিং এর শুরু থেকে সাদা স্পেস সরিয়ে দেয়
String trimEnd() একটি স্ট্রিং এর শেষ থেকে সাদা স্পেস সরিয়ে দেয়
Object.fromEntries কী/মান জোড়া থেকে একটি বস্তু তৈরি করে
Optional catch binding এটি আপনাকে ক্যাচ প্যারামিটারটি বাদ দেওয়ার অনুমতি দেয় যদি এটি প্রয়োজন না হয়
Array flat() একটি নেস্টেড অ্যারে সারিবদ্ধ করে একটি নতুন অ্যারে তৈরি করে
Array flatMap() সমস্ত অ্যারের উপাদানকে ম্যাপ করে এবং অ্যারেকে সমান করে একটি নতুন অ্যারে তৈরি করে
Revised Array sort() ব্রাউজারদের এখন একটি আদর্শ বাছাই অ্যালগরিদম ব্যবহার করা উচিত
Revised JSON.stringify() UTF-8 নোটেশন পয়েন্ট সহ স্ট্রিংগুলি এখন নিরাপদে রূপান্তরিত হয়৷
Separator symbols in strings লাইন এবং অনুচ্ছেদ বিভাজক (\u2028 এবং \u2029) স্ট্রিংগুলিতে অনুমোদিত
Revised Function.toString() এখন মন্তব্য এবং স্পেস এবং সিনট্যাক্স বিশদ সহ সোর্স কোড প্রদান করে

ব্রাউজার সমর্থন

ECMAScript 2019 সমস্ত আধুনিক ব্রাউজারে 2020 সালের জানুয়ারী পর্যন্ত সমর্থিত:

Chrome Edge Firefox Safari Opera
66 79 61 12 50
এপ্রিল 2018 জানুয়ারী 2020 জুন 2018 সেপ্টেম্বর 2018 মে 2018

JavaScript String trimStart()

ES2019 জাভাস্ক্রিপ্টে স্ট্রিং পদ্ধতি trimStart() যোগ করেছে।

trimStart() পদ্ধতিটি trim() এর মত কাজ করে কিন্তু শুধুমাত্র একটি স্ট্রিং এর শুরু থেকে হোয়াইটস্পেস সরিয়ে দেয়।

উদাহরণ

let text1 = "     Hello World!     ";
let text2 = text1.trimStart();

JavaScript String trimEnd()

ES2019 জাভাস্ক্রিপ্টে স্ট্রিং পদ্ধতি trimEnd() যোগ করেছে।

trimEnd() পদ্ধতিটি trim() এর মত কাজ করে, কিন্তু শুধুমাত্র একটি স্ট্রিং এর শেষ থেকে হোয়াইটস্পেস সরিয়ে দেয়।

উদাহরণ

let text1 = "     Hello World!     ";
let text2 = text1.trimEnd();

JavaScript Object fromEntries()

ES2019 জাভাস্ক্রিপ্টে Entries() থেকে অবজেক্ট মেথড যোগ করেছে।

fromEntries() পদ্ধতি পুনরাবৃত্তিযোগ্য কী/মান জোড়া থেকে একটি বস্তু তৈরি করে।

উদাহরণ

const fruits = [
  ["apples", 300],
  ["pears", 900],
  ["bananas", 500]
];

const myObj = Object.fromEntries(fruits);

Optional catch Binding

ES2019 থেকে, আপনি ক্যাচ প্যারামিটারটি বাদ দিতে পারেন যদি আপনার এটির প্রয়োজন না হয়:

2019 এর আগে:

try {
  // code
} catch (err) {
  // code
}

2019 এর পরে:

try {
  // code
} catch {
  // code
}

JavaScript Array flat()

ES2019 জাভাস্ক্রিপ্টে অ্যারে ফ্ল্যাট() পদ্ধতি যোগ করেছে।

flat() পদ্ধতি একটি নেস্টেড অ্যারে সমতল করে একটি নতুন অ্যারে তৈরি করে।

উদাহরণ

const myArr = [[1,2],[3,4],[5,6]];
const newArr = myArr.flat();

JavaScript Array flatMap()

ES2019 জাভাস্ক্রিপ্টে অ্যারে ফ্ল্যাটম্যাপ() পদ্ধতি যোগ করেছে।

flatMap() পদ্ধতি প্রথমে একটি অ্যারের সমস্ত উপাদান ম্যাপ করে এবং তারপর একটি নতুন অ্যারে তৈরি করতে অ্যারেটিকে সমতল করে।

উদাহরণ

const myArr = [1, 2, 3, 4, 5, 6];
const newArr = myArr.flatMap(x => [x, x * 10]);

Stable Array sort()

ES2019 অ্যারে সর্ট() পদ্ধতি সংশোধন করেছে।

2019 এর আগে, স্পেসিফিকেশন স্ট্যাটিক বাছাই অ্যালগরিদম যেমন QuickSort অনুমতি দেয়।

ES2019 এর পরে, ব্রাউজারগুলিকে অবশ্যই একটি আদর্শ বাছাই অ্যালগরিদম ব্যবহার করতে হবে:

একটি মান দ্বারা উপাদানগুলিকে ক্রম করার সময়, উপাদানগুলিকে একই মান সহ অন্যান্য উপাদানগুলির সাথে সম্পর্কিত তাদের অবস্থান বজায় রাখতে হবে।

💡গুরুত্বপূর্ণ নোট:

স্থির ক্রম নিশ্চিত করে যে একই মান সহ উপাদানগুলি তাদের আসল আপেক্ষিক ক্রম ধরে রাখে।

Revised JSON.stringify()

ES2019 JSON stringify() পদ্ধতি সংশোধন করেছে।

2019 সালের আগে, JSON \ এর সাথে এনকোড করা অক্ষরগুলিকে স্ট্রিংয়ে রূপান্তর করা যাবে না।

let text = JSON.stringify("\u26D4");

ES2019 এর আগে, UTF-8 অক্ষর পয়েন্টে JSON.stringify()JSON ব্যবহার করে (U+D800 থেকে U+DFFF) ভাঙা ইউনিকোড অক্ষর যেমন ��� ফেরত দিয়েছিল।

এই ফিক্স করার পরে, UTF-8 নোটেশন পয়েন্ট সহ স্ট্রিংগুলি JSON.stringify() দিয়ে নিরাপদে রূপান্তরিত হয় এবং JSON.parse() ব্যবহার করে আসল অবস্থায় ফিরে আসে।

Separator Symbols

লাইন বিভাজক এবং অনুচ্ছেদ বিভাজক প্রতীক (\u2028 এবং \u2029) এখন স্ট্রিং লিটারেলে অনুমোদিত।

2019 এর আগে, এগুলিকে ট্যাক্স চূড়ান্তকারী হিসাবে বিবেচনা করা হত এবং ত্রুটির ব্যতিক্রম ঘটিয়েছিল:

উদাহরণ

// This is valid in ES2019:
let text = "\u2028";

⚠️দ্রষ্টব্য:

এখন, JavaScript এবং JSON এর সমতুল্য নিয়ম রয়েছে।

ES2019 এর আগে: text = JSON.parse('"\u2028"') '' হিসাবে পার্স হবে।

text = '"\u2028"' একটি সিনট্যাক্স ত্রুটি ফিরিয়ে দেবে।

Revised Function.toString()

ES2019 ফাংশন toString() পদ্ধতি সংশোধন করেছে।

toString() পদ্ধতি একটি ফাংশনের উত্স কোড প্রতিনিধিত্ব করে একটি স্ট্রিং প্রদান করে।

2019 থেকে, toString() কে অবশ্যই ফাংশনের সোর্স কোড ফেরত দিতে হবে, যার মধ্যে মন্তব্য, স্পেস এবং সিনট্যাক্সের বিশদ রয়েছে।

2019 এর আগে, বিভিন্ন ব্রাউজার ফাংশনের বিভিন্ন বৈচিত্র (মন্তব্য এবং স্পেস ছাড়াই) ফিরিয়ে দিয়েছে। 2019 থেকে, ফাংশনটি লিখিত হিসাবে ফেরত দিতে হবে।

উদাহরণ

function myFunction(p1, p2) {
  return p1 * p2;
}
let text = myFunction.toString();

ECMAScript 2019 টিউটোরিয়াল

ES2019-এ শেখা বৈশিষ্ট্যগুলি পরীক্ষা করার জন্য এই টিউটোরিয়ালটি ব্যবহার করে দেখুন।

ES2019 এ প্রবর্তিত নিম্নলিখিত পদ্ধতিগুলির মধ্যে কোনটি একটি স্ট্রিংয়ের শুরু থেকে সাদা স্থানগুলি সরিয়ে দেয়?

trimLeft()
✗ ভুল! trimLeft() হল trimStart() এর একটি পুরানো উপনাম, কিন্তু ES2019 এ trimStart() এ স্থির করা হয়েছিল
trimBegin()
✗ ভুল! trimBegin() বলে কোন পদ্ধতি নেই
startTrim()
✗ ভুল! startTrim() নামে কোন পদ্ধতি নেই
trimStart()
✓ ঠিক আছে! trimStart() হল একটি পদ্ধতি যা ES2019 এ চালু করা হয়েছে যা একটি স্ট্রিং এর শুরু থেকে হোয়াইটস্পেস সরিয়ে দেয়